package br.com.caim.email.cadastro.impl;

import java.util.Collection;
import java.util.Iterator;

import br.com.caim.bo.entidade.Conta;
import br.com.caim.bo.entidade.Usuario;
import br.com.caim.email.cadastro.ICadastroEmail;
import br.com.caim.email.dao.Persistencia;

public class CadastroEmail implements ICadastroEmail {

	private Persistencia persist = new Persistencia();
	
	public void cadastroConta(Object bo) {
		Conta conta = null;
		
		if(bo instanceof Conta) {
			conta = (Conta) bo;
		} else {
			// TODO
			throw new RuntimeException("Erro do tipo de dados recebido. Tipo Conta era esperado.");
		}
				
		persist.persistirObjeto(conta);
	}

	public void cadastroContas(Object bo) {
		Collection contas = null;
		
		if(bo instanceof Collection) {
			contas = (Collection) bo;
		} else {
			// TODO
			throw new RuntimeException("Erro do tipo de dados recebido. Tipo Collection era esperado.");
		}
		
		for(Iterator iterator = contas.iterator(); iterator.hasNext(); ) {
			Conta conta = (Conta) iterator.next();
			
			persist.persistirObjeto(conta);
		}
	}

	public void cadastroUsuario(Object bo) {
		Usuario usuario = null;
		
		if(bo instanceof Usuario) {
			usuario = (Usuario) bo;
		} else {
			// TODO
			throw new RuntimeException("Erro do tipo de dados recebido. Uma instancia de Usuario era esperada.");
		}
		
		persist.persistirObjeto(usuario);
	}
}
